//
//  TDMainViewController.swift
//  微博
//
//  Created by tong dan on 16/2/29.
//  Copyright © 2016年 tong dan. All rights reserved.
//

import UIKit

class TDMainViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
//MARK:- 设置加号控制器
        //1.将当前的tableBarController换成自己的tabBar
        let tabBar = TDTabBar()
        
        //11.在这个闭包里面使用self会形成循环引用
        tabBar.composeButtonClickClourse = {
        
        print("我要发微博")
            
        }
        
        //2.通过KVC间接赋值
        self.setValue(tabBar, forKeyPath: "tabBar")
        
        
        
        
        //调用添加控制器的方法
        addChildViewControllers()
        
        }
    
    
    
    //添加四个字控制器
    func addChildViewControllers(){
        
        addChildViewController(TDHomeTableViewController(), title: "首页", imageName: "tabbar_home")
        addChildViewController(TDDiscoverTableViewController(), title: "发现", imageName: "tabbar_discover")
        addChildViewController(TDMessageTableViewController(), title: "消息", imageName: "tabbar_message_center")
        addChildViewController(TDProfileTableViewController(), title: "我", imageName: "tabbar_profile")
        
        }
    
    
    //添加子控制器并设置字控制器的相关属性
    func addChildViewController(childController:UITableViewController, title:String, imageName:String){
        
        //添加控制器
        addChildViewController(TDNavigationViewController(rootViewController:childController))
        
        //设置标题
        childController.title = title;
        
        //设置显示的图标
        childController.tabBarItem.image = UIImage(named: imageName)
        
        //让图标原样显示(原样图片比正常图片的名字多了个_selected   枚举的时候可以省略.前面的内容)
        //让图片显示原样的颜色也可以选中图片，在其属性栏的Render As中选择Original Image
        childController.tabBarItem.selectedImage = UIImage(named:"\(imageName)_selected")?.imageWithRenderingMode(.AlwaysOriginal)
       
        //设置字体的颜色
        let attribute = [
        
            NSForegroundColorAttributeName: UIColor.orangeColor()
        
        ]
        
        childController.tabBarItem.setTitleTextAttributes(attribute, forState: UIControlState.Selected)
        
    }
    
    
    

}
